A designer may use a high-level modeling system (HLMS), such as the System Generator HLMS available from Xilinx Inc., to develop an electronic design at an abstract level using the intuitive user interface of the HLMS. In addition, the HLMS permits the designer to simulate the electronic design and translate the abstract specification of the electronic design into a hardware description language (HDL) for subsequent synthesis and production of a hardware implementation of the electronic design.
Various software tools may be used to translate a specification of the electronic design. For example, an HDL compiler may translate the abstract specification of the electronic design into an HDL specification of the electronic design. The electronic design may be represented by one or more directed graphs in each of these software tools; however, each of these software tools may require a customized directed graph with a specific structure.
Multiple customized directed graphs may need to be constructed for the algorithmic manipulations of the electronic design by the various software tools. A customized directed graph for a particular software tool may be initially constructed as a copy of another directed graph, such as a directed graph representing the connectivity between the basic elements of the abstract specification of the electronic design. The copied directed graph may be manipulated according to the processes of the particular software tool. Alternatively, when two software tools receive and modify the same directed graph, the modifications by one software tool may be undone before the other software tool receives the directed graph.
The copying of directed graphs and the journaling or other approaches used to undo modifications of directed graphs may be time-consuming and difficult. In addition, information generated by the software tools may need to be transferred between the various customized directed graphs. This information may include parameters defining the behavior of the basic elements of the electronic design, such as the blocks, ports, and networks of the electronic design. Many of the software tools may determine the values of respective parameters defining the behavior of the basic elements of the electronic design. The values of these parameters may need to be collected together before the behavior of each basic element is fully defined.
The present invention may address one or more of the above issues.